Forum des exercices du projet Zuul

Exercice 7.21

  
 
Avatar anonfirstname2 anonlastname2
Exercice 7.21
par anonfirstname2 anonlastname2, dimanche 17 février 2013, 01:14
 

How should all the information about an Item present in a Room be produced ?
Which class should produce the String describing the Item ?
Which class should display it ?
  Why ?  Explain in writing.
If answering this exercise makes you feel you should change your
implementation, go ahead and make the changes.

Remarque : Il est également possible de prévoir une longDescription pour chaque Item (voir quand il serait intéressant de l'utiliser).

Avatar Jean COULOM
Re: Exercice 7.21
par Jean COULOM, samedi 12 octobre 2013, 17:48
 

Bonjour, est-ce bon :

Les informations à propos d'un objet présent dans une room doivent être produite par le gameEngine comme pour les sorties des rooms.

La classe qui produit la String est la classe Room puisqu'une room contient un objet et que la classe item ne sert qu'à dire "Il existe un objet de type Item qui est caractérisé par un nom, une description, un poids, un prix".

La classe qui doit afficher l'info est la classe gameEngine, c'est celle qui s'occupe déjà de printer les infos des rooms, il n'y a pas de raison de changer ça.

Quand vous dites qu'il est également possible de prévoir une longDescription pour chaque Item est-ce que vous pensez à ça :

public String getLongItemDescription()
{
if (aItem==null) return ""; //Si il n'y a pas d'item dans la room retourne une string vide.
else return "Nom de l'objet: "+aItem.getItemName()+".\n"+"Description de l'objet: "+aItem.getItemDescription()+".\n"+"Poids: "+aItem.getItemWeight()+"KG.\n"+"Prix: "+aItem.getItemPrice()+"Euros."; //Sinon retourne la description.
}//getLongDescription

Avatar Denis BUREAU
Re: Exercice 7.21
par Denis BUREAU, dimanche 13 octobre 2013, 17:55
 

Non, ce n'est pas exactement ça.

L'information, c'est-à-dire la description (courte ou longue) d'un Item doit évidemment être produite par l'Item lui-même.

La description longue d'une Room devant indiquer l'Item qui s'y trouve éventuellement, la classe Room devra être modifiée.

Ces descriptions doivent être affichées à chaque fois que nécessaire par le GameEngine.

 

Avatar Denis BUREAU
Re: Exercice 7.21
par Denis BUREAU, jeudi 7 avril 2016, 19:23
 

Un étudiant a écrit :

.../... je dois juste rajouter dans ma classe Room + this.aItems dans la méthode getLongDescripton() ou je dois ajouter une méthode itemsDescription ? 

Avatar Denis BUREAU
Re: Exercice 7.21
par Denis BUREAU, jeudi 7 avril 2016, 19:27
 

1) essayez ce que vous pensez juste devoir rajouter (puis complétez éventuellement)

2) je pense que vous avez déjà une méthode qui vous retourne la description d'un Item (à quoi servirait votre nouvelle méthode ?)

3) n'employez pas le pluriel pour un attribut qui je suppose ne peut contenir qu'un seul Item (peut-être qu'il n'en sera plus ainsi dans les exercices suivants)